package es.udc.fbellas.j2ee.tiendaweb.model.usuariofacade.plain.actions;

import java.sql.Connection;

import es.udc.fbellas.j2ee.tiendaweb.model.tarjetabancaria.DAO.SQLTarjetaBancariaDAO;
import es.udc.fbellas.j2ee.tiendaweb.model.tarjetabancaria.DAO.SQLTarjetaBancariaDAOFactory;
import es.udc.fbellas.j2ee.tiendaweb.model.tarjetabancaria.TO.TarjetaBancariaTO;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.DAO.SQLUsuarioProfileDAO;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.DAO.SQLUsuarioProfileDAOFactory;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.TO.UsuarioProfileTO;
import es.udc.fbellas.j2ee.util.exceptions.DuplicateInstanceException;
import es.udc.fbellas.j2ee.util.exceptions.InstanceNotFoundException;
import es.udc.fbellas.j2ee.util.exceptions.InternalErrorException;
import es.udc.fbellas.j2ee.util.sql.TransactionalPlainAction;



public class ModificarTarjetaBancariaAction implements TransactionalPlainAction{
	private UsuarioProfileTO usuarioProfileTO;
	private TarjetaBancariaTO tarjetaBancariaTO;
	
	public ModificarTarjetaBancariaAction(UsuarioProfileTO usuarioProfileTO, TarjetaBancariaTO tarjetaBancariaTO){
		this.usuarioProfileTO = usuarioProfileTO;
		this.tarjetaBancariaTO = tarjetaBancariaTO;
	}
	
	
    public Object execute(Connection connection) 
    throws InstanceNotFoundException, DuplicateInstanceException, InternalErrorException {

    SQLTarjetaBancariaDAO tarjetaBancariaDAO = SQLTarjetaBancariaDAOFactory.getDAO();
    tarjetaBancariaDAO.create(connection, tarjetaBancariaTO);
    
    SQLUsuarioProfileDAO usuarioProfileDAO = SQLUsuarioProfileDAOFactory.getDAO();
    usuarioProfileDAO.find(connection, usuarioProfileTO.getLogin());
    usuarioProfileTO.setNumTarjeta(tarjetaBancariaTO.getNumTarjeta());
    usuarioProfileDAO.update(connection, usuarioProfileTO);
    return null;            

}

/* 
 * This class is tested by
 * "es.udc.fbellas.j2ee.miniportal.model.userfacade.delegate.
 * UsuarioFacadeDelegateFactory".
 */    

	

}
